// //正则表达式 通常被用来检索、替换那些符合某个规则的文本
// let str = "hello651651a531w56d1a351d5aw4d35";
//
// let pattern = "/\d+"   //  /\d 代表数字  /\d+ 代表一个或多个数字
// let reg = new RegExp(pattern,'i');  //使用构造函数创建正则表达式 可以做拼接等处理 或者可以传入一个函数
//
// console.log(reg.test(str))
// console.log(reg.exec(str))
//
// let reg2= /z/i;  //简便写法是//两条斜杠中间放表达式 后面放匹配规则
// console.log(reg2.test(str))
// console.log(reg2.exec(str))


/*匹配规则：
i 忽略大小写
m 多行匹配
g 全局匹配
s dotAll模式 该模式下元字符 可以匹配换行   */
// let str = "hello651651a531w56d1a351d5aw4d35";
// let reg = /\d+/ig;
// let retval = null;
// while ((retval = reg.exec(str))!=null){
//     console.log(retval);
// }

/*  量词
+  匹配一个或者多个字符串
*  匹配0个或者多个字符串
?  匹配0个或者1个字符串
.  匹配1个任意字符串
{n}  匹配n个字符串
{n,m}  匹配包含n-m个之间个字符串   */

/*  元字符
\d  匹配一个数字
\D  匹配一个非数字
\s  匹配一个空白字符
\S  匹配一个非空白字符
\w  匹配一个字母或数字或下划线
\W  匹配一个非字母或数字或下划线
\b  匹配一个单词边界
\B  匹配一个非单词边界      */


//正则表达式进阶
/*几种常用的万能匹配公式：
    .*?
    [\s\S]*?
    [^>]*?            */




// //字符串的常见方法
// let str = "luojinsheng";
// // let retval = str.replace("n", "xx");
// // let retval = str.replace(/n/g, "xx");
// let retval = str.replaceAll("n", "xx");
// console.log(retval);

// let str = "luo7537jin13673-sheng";
// // let retval = str.match(/\d+/g);
// // console.log(retval);
// let retval = str.matchAll(/\d+/g);
// console.log(...retval);

let str = "luo145435jin7658sheng0-090";
// let index = str.indexOf('uo');
// console.log(index, str[2]);
let retval = str.search(/\d+/g);
console.log(retval);


// let str = "luo145435jin7658sheng0090";
// let retval = str.split(/\d+/g);
// console.log(retval);


// let str = "luo145435jin7658sheng0090";
// let retval = "";
// for (let i = 0; i < str.length; i++) {
//     retval += str.charCodeAt(i) + ","
// }
// console.log(retval);
//
// let sss = String.fromCharCode(120,105,97,111,49,52,53,52,51,53,106,105,97,110,55,54,53,56,98,97,110,103,48,48,57,48);
// console.log(sss);


// console.log(encodeURIComponent("luojinsheng"));
// console.log(escape("luojinsheng"));
// console.log(parseInt("100.5"));
// console.log(parseFloat("100.5"));
// console.log(isNaN("100.5"));
// console.log(isFinite(100));
// console.log(Number.parseInt("100.5"));


